package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.OrderDetails;
import com.ruoyi.system.domain.Goods;
import org.apache.ibatis.annotations.Mapper;

/**
 * 订单详情Mapper接口
 * 
 * @author ruoyi
 * @date 2023-12-23
 */
@Mapper
public interface OrderDetailsMapper 
{
    /**
     * 查询订单商品
     * 
     * @param orderDetailsID 订单详情主键
     * @return 订单详情
     */
    public List<Goods> selectOrderDetailsByOrderDetailsID(Long orderDetailsID);

    /**
     * 查询订单详情列表
     * 
     * @param orderDetails 订单详情
     * @return 订单详情集合
     */
    public List<OrderDetails> selectOrderDetailsList(OrderDetails orderDetails);

    /**
     * 新增订单详情
     * 
     * @param orderDetails 订单详情
     * @return 结果
     */
    public int insertOrderDetails(OrderDetails orderDetails);

    /**
     * 修改订单详情
     * 
     * @param orderDetails 订单详情
     * @return 结果
     */
    public int updateOrderDetails(OrderDetails orderDetails);

    /**
     * 删除订单详情
     * 
     * @param orderDetailsID 订单详情主键
     * @return 结果
     */
    public int deleteOrderDetailsByOrderDetailsID(Long orderDetailsID);

    /**
     * 批量删除订单详情
     * 
     * @param orderDetailsIDs 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOrderDetailsByOrderDetailsIDs(Long[] orderDetailsIDs);

    /**
     * 批量删除商品
     * 
     * @param orderDetailsIDs 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteGoodsByGoodIDs(Long[] orderDetailsIDs);
    
    /**
     * 批量新增商品
     * 
     * @param goodsList 商品列表
     * @return 结果
     */
    public int batchGoods(List<Goods> goodsList);
    

    /**
     * 通过订单详情主键删除商品信息
     * 
     * @param orderDetailsID 订单详情ID
     * @return 结果
     */
    public int deleteGoodsByGoodID(Long orderDetailsID);
}
